<?php
/**
 * alltosun.com  ConfigController.Class.php
 * ============================================================================
 * 版权所有 (C) 2015 齐齐哈尔大学计算机与控制工程学院，并保留所有权利。
 * ============================================================================
 * $Author: 范志俊 (fanfzj@163.com) $
 * $Date: 2015-10-22 上午12:24:54 $
 */
namespace Admin\Controller;

use Think\Controller;
use Think\Upload;

class ConfigController extends AuthController {

    //基本配置页面
    public function base()
    {
        $config_list = M('System')->select();
        $this->assign('config_list', $config_list);
        $this->display('config_base');
    }


    //保存设置信息
    public function save()
    {
        $data['site_name']  = I('site_name', '');
        //var_dump($data);
        foreach ($data as $k => $v) {
            $result = M('System')->where(array('name' => $k))->save(array('value' => $v));
        }
        $this->success('网站设置保存成功,正在跳转到后台首页', U('Admin/Index/Index'));
    }
    //修改首页背景图片
    public function img()
    {
        $img_path=M("System")->where(array('name'=>'site_img'))->getField('value');
//        print $img_path[0]["value"];
//        var_dump($img_path);
        $this->assign( 'img_path' ,$img_path);
        $this->display( 'config_img' );
    }
    //修改首页背景图片操作
    public function img_save()
    {
        $img=$_FILES['img_upload' ];
        $img_path=M("System")->where(array('name'=>'site_img'))->getField('value');
        if(!empty($img)){
            import( 'ORG.Util.UploadFile' );
            $upload=new Upload();
            $upload->maxSize=3145728;
            $upload->exts=array( 'jpg' , 'gif' , 'png' , 'jpeg' );
            $upload->rootPath='./Uploads/';
            $upload->savePath='Background/';
            $upload->saveName=time().'_'.mt_rand();
            $info=$upload->upload();
            //var_dump($info);
            if( ! $info ){
//                print $upload->getError();
                $this->assign( 'img_path' ,$img_path);
                $this->assign( 'info' , $upload->getError() );
                $this->display( 'config_img' );
            } else{
                //print $upload->rootPath.$info[ 'img_upload' ][ 'savepath' ].$info[ 'img_upload' ][ 'savename' ];
                unlink($img_path);
                $path=$upload->rootPath.$info[ 'img_upload' ][ 'savepath' ].$info[ 'img_upload' ][ 'savename' ];
                $img_data[ 'value' ]=__ROOT__.substr($path,1,strlen($path));
                $img_data[ 'name' ]='site_img';
                M('System')->where(array('name'=>'site_img'))->save($img_data);
                //print M('Config')->where($img_data)->save($img_data);
                $this->redirect( 'Admin/Config/img');
            }
        } else{
//            print "没有图片";
            $this->assign( 'img_path' ,$img_path);
            $this->assign( 'info' , '没有上传图片' );
            $this->display( 'config_img' );
        }
    }

    //初始化系统
    public function db()
    {
        $this->display('config_reset');
    }

    public function go_db()
    {
        //创建系统配置表
        $config_insert="DROP TABLE IF EXISTS `go_config`;CREATE TABLE `go_config` (`id` int(10) NOT NULL AUTO_INCREMENT,`field` varchar(255) NOT NULL COMMENT '属性字段',`title` varchar(255) NOT NULL COMMENT '字段标题',`mark` varchar(255) NOT NULL COMMENT '备注信息,主要用于placeholder显示',`field_type` varchar(255) NOT NULL DEFAULT 'string' COMMENT '字段类型,sting:字符串  phone:手机号 email:邮箱 url:链接地址 bool:布尔 text:文本 editor:编辑器 pic:图片 file:文件,默认string',`config_type` varchar(255) NOT NULL DEFAULT 'site' COMMENT '配置类型',`value` varchar(255) NOT NULL COMMENT '字段值',`is_system` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否是系统字段,0：否 1：是 ,系统字段无法删除',`is_required` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否必填,1：必填 0：非必填,默认0',`sort` int(10) NOT NULL DEFAULT '1' COMMENT '排序',`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态,1：正常,0：回收站,默认1',`add_time` datetime NOT NULL COMMENT '添加时间',`update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`),UNIQUE KEY `id` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='系统配置表';";

        //创建科分类表
        $families_insert="DROP TABLE IF EXISTS `go_families`;
        CREATE TABLE `go_families` (
          `id` int(10) NOT NULL AUTO_INCREMENT,
          `name` varchar(255) NOT NULL DEFAULT '' COMMENT '科名称',
          `add_time` datetime NOT NULL COMMENT '添加时间',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='树木科表';";

        //创建属分类表
        $family_insert="DROP TABLE IF EXISTS `go_family`;
        CREATE TABLE `go_family` (
          `id` int(11) NOT NULL AUTO_INCREMENT,
          `name` varchar(255) DEFAULT NULL COMMENT '族名',
          `add_time` datetime DEFAULT NULL COMMENT '添加时间',
          `families_id` int(11) DEFAULT NULL COMMENT '科id',
          PRIMARY KEY (`id`)
        ) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='树木属表';";

        //创建图片表
        $image_insert="DROP TABLE IF EXISTS `go_image`;
        CREATE TABLE `go_image` (
          `Id` int(11) NOT NULL AUTO_INCREMENT,
          `tree_id` int(11) DEFAULT NULL COMMENT '树木id',
          `path` varchar(255) DEFAULT NULL COMMENT '图片路径',
          PRIMARY KEY (`Id`)
        ) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COMMENT='树木图片表';";

        //创建应用价值表
        $price_insert="DROP TABLE IF EXISTS `go_price`;
        CREATE TABLE `go_price` (
          `id` int(11) NOT NULL AUTO_INCREMENT,
          `name` varchar(255) NOT NULL DEFAULT '' COMMENT '利用价值',
          `add_time` datetime NOT NULL COMMENT '添加时间',
          PRIMARY KEY (`id`)
        ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='价值表';";

        //创建树木表
        $tree_inset="DROP TABLE IF EXISTS `go_trees`;
        CREATE TABLE `go_trees` (
          `id` int(10) NOT NULL AUTO_INCREMENT,
          `name` varchar(255) NOT NULL DEFAULT '' COMMENT '树名',
          `price_id` varchar(11) DEFAULT '1' COMMENT '价值',
          `families_id` int(10) NOT NULL DEFAULT '1' COMMENT '科',
          `add_time` datetime NOT NULL COMMENT '添加时间',
          `sp` varchar(255) DEFAULT NULL COMMENT '拉丁名',
          `form` text COMMENT '形态',
          `nickname` varchar(255) DEFAULT NULL COMMENT '别称',
          `family_id` int(11) DEFAULT '1' COMMENT '族',
          `area` varchar(255) DEFAULT NULL COMMENT '分布地区',
          `first_fight` varchar(255) DEFAULT NULL COMMENT '首拼',
          `habit` text COMMENT '习性',
          `reset_time` datetime DEFAULT NULL COMMENT '修改时间',
          `remark` varchar(255) DEFAULT NULL COMMENT '备注',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='树表';";
        $sql=$config_insert.$tree_inset.$families_insert.$family_insert.$image_insert.$price_insert;
        $model = new Model();
        $ret = $model->query($sql);
        if (!$ret){
            $data['status']=0;
            $data['data']=$model->getDbError();
        }
        else
        {
            $data['status']=1;
            $data['data']="初始化完成";
        }
    }
    public function admin()
    {
        $this->display('config_admin');
    }
    public function admin_save()
    {
        $data['admin_username']  = I('admin_username', '');
        $data['admin_password']  = I('admin_password', '');
        //var_dump($data);
        foreach ($data as $k => $v) {
            $result = M('Config')->where(array('field' => $k))->save(array('value' => $v));
//            echo $k."  ".$v."\n";
        }
        $this->success('管理员设置保存成功,请重新登录', U('Admin/Login/Index'));
    }
}